Estoy tratando de hacer un bot para verificar si un artículo está en stock. Lo basé en este video https://www.youtube.com/watch?v=57TEZq8O360 , pero cambié la URL. Aunque puedo consolar. registrar el contenido de la página web cuando trato de usar cheerio como jquery, aparece este error "Error de tipo: $ no es una función". Sé que Cheerio está instalado y funciona como lo he declarado con "const $ = require('cheerio');" y he podido usarlo en otra parte de mi archivo. ¿Hay un error tipográfico que me estoy perdiendo? Mi código roto está abajo.
async function checkStock(page){ await page.reload(); let content = await page.evaluate(() => document.body.innerHTML); console.log(content); $("link[itemprop='availability']", content).each(function(){ //error here let instock= $(this).attr('href').toLowerCase().includes("outofstock"); if(instock){ console.log("no"); } });}Necesitas cargar el HTML en cheerio, y luego cheerio te dará la API $ :
const $ = require("cheerio"); // ... async function checkStock(page){ await page.reload(); const content = await page.evaluate(() => document.body.innerHTML); const $ = cheerio.load(content); $("link[itemprop='availability']", content).each(function(){ //error here let instock = $(this).attr('href').toLowerCase().includes("outofstock"); if (instock) { console.log("no"); } }); }